cssprovider: Do error handling differently
authorBenjamin Otte <otte@redhat.com>
Mon, 11 Apr 2011 00:18:21 +0000 (02:18 +0200)
committerBenjamin Otte <otte@redhat.com>
Wed, 18 May 2011 19:58:45 +0000 (21:58 +0200)
Instead of aborting a parse whenever we encounter an error, parse to the
end. But if a GError was passed in, reset the provider completely as if
nothing had been parsed.

gtk/gtkcssprovider.c

index 9e6d3c85729d0a9ecfcede8325019d62f59d3e57..c121bed7ea61b64b35ec3d3c82379a1ab25365bc 100644 (file)
@@ -2622,27 +2622,6 @@ parse_stylesheet (GtkCssProvider  *css_provider,
 
       if (expected_token != G_TOKEN_NONE)
         {
-          /* If a GError was passed in, propagate the error and bail out,
-           * else report a warning and keep going
-           */
-          if (error != NULL)
-            {
-              result = FALSE;
-              if (priv->error)
-                g_propagate_error (error, priv->error);
-              else
-                g_set_error_literal (error,
-                                     GTK_CSS_PROVIDER_ERROR,
-                                     GTK_CSS_PROVIDER_ERROR_FAILED,
-                                     "Error parsing stylesheet");
-              break;
-            }
-          else
-            {
-              g_clear_error (&priv->error);
-              priv->error = NULL;
-            }
-
           css_provider_reset_parser (css_provider);
 
           while (!g_scanner_eof (scanner) &&